import { IPSDEActionInputDTO } from './ipsdeaction-input-dto';
import { IPSDEActionInputDTOField } from './ipsdeaction-input-dtofield';
import { IPSDEMethodDTOField } from '../service/ipsdemethod-dtofield';
import { PSDEMethodDTOImpl } from '../service/psdemethod-dtoimpl';

export class PSDEActionInputDTOImpl extends PSDEMethodDTOImpl implements IPSDEActionInputDTO {
  protected psdeactioninputdtofields: IPSDEActionInputDTOField[] | null = null;

  getPSDEActionInputDTOFields(): IPSDEActionInputDTOField[] | null {
    if (this.psdeactioninputdtofields == null) {
      this.psdeactioninputdtofields = this.fillChildListModel(this.M.getPSDEActionInputDTOFields, 'dataentity.action.IPSDEActionInputDTOField') as IPSDEActionInputDTOField[];
    }
    return this.psdeactioninputdtofields;
  }

  get psDEActionInputDTOFields(): IPSDEActionInputDTOField[] | null {
    return this.getPSDEActionInputDTOFields();
  }

  findPSDEActionInputDTOField(objKey: any): IPSDEActionInputDTOField | null {
    return this.getPSModel5('dataentity.action.IPSDEActionInputDTOField', this.getPSDEActionInputDTOFields(), objKey) as IPSDEActionInputDTOField;
  }

  protected psdemethoddtofields: IPSDEMethodDTOField[] | null = null;

  getPSDEMethodDTOFields(): IPSDEMethodDTOField[] | null {
    if (this.psdemethoddtofields == null) {
      this.psdemethoddtofields = this.getPSDEActionInputDTOFields() as IPSDEMethodDTOField[];
    }
    return this.psdemethoddtofields;
  }

  get psDEMethodDTOFields(): IPSDEMethodDTOField[] | null {
    return this.getPSDEMethodDTOFields();
  }

  findPSDEMethodDTOField(objKey: any): IPSDEMethodDTOField | null {
    return this.getPSModel5('dataentity.service.IPSDEMethodDTOField', this.getPSDEMethodDTOFields(), objKey) as IPSDEMethodDTOField;
  }

  get cls(): string {
    return 'PSDEActionInputDTOImpl';
  }

  instanceof(cls: string): boolean {
    if (cls == 'dataentity.action.IPSDEActionInputDTO') return true;
    return super.instanceof(cls);
  }
}
